package com.zhou.message.mapper;

import com.zhou.message.dao.SendMessageDetail;
import com.zhou.message.dto.SendMessagePageDto;
import com.zhou.message.dto.SystemMessagePageDto;
import com.zhou.message.dto.SystemMessageQueryDto;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

@Repository
public interface MessageMapper {
    /**
     * 查询用户的收信箱
     */
    List<SystemMessagePageDto> getUserReceiveList(@Param("dto") SystemMessageQueryDto dto);
    List<Map<String,Object>> getUserReceiveCount(@Param("toUserId") Integer toUserId);

    /**
     * 查询用户发送的消息
     */
    List<SendMessagePageDto> getSendMessageList(@Param("dto") SystemMessageQueryDto dto);
    /**
     * 查询系统发送的消息
     */
    List<SystemMessagePageDto> getSystemMessageList(@Param("dto") SystemMessageQueryDto dto);

    /**
     * 查询消息发送人详情
     */
    List<SendMessageDetail> getSendMessageDetailList(Map<String, Object> map);


    int getReceiveCount(Map<String, Object> map);

}
